"""
(1)编写一个Employee类,做成抽象基类,包含如下三个属性,name,id,salary，提供必要的构造器和抽象方法:work()
(2).对于Manager类来说,他既是员工,还具有奖金(bonus)的属性,请使用继承的思想设计
CommonEmployee类和Manager类，要求实现work 提示 / 经历 / 普通员工  名字  工作中
使用  OOP继承  + 抽象类
"""
from abc import ABC, abstractmethod


class Employee(ABC):
    name = None
    id = None
    salary = None

    def __init__(self , name , id , salary):
        self.name = name
        self.id = id
        self.salary = salary

    #抽象方法
    @abstractmethod
    def work(self):
        pass

#定义Manager类经理类
class Manager(Employee):
    bonus = None

    def __init__(self , name , id , salary , bonus):
        super().__init__(name , id , salary)
        self.bonus = bonus

    def work(self):
        print(f"经理{self.name}在工作...")

#定义普通员工类
class CommonEmployee(Employee):
    def work(self):
        print(f"普通员工{self.name}工作中...")

#实例化经理类
manager01 = Manager("秦志戬" , 1 , 10000 , 5000)
manager01.work()
#实例化普通员工
commonEmployee01 = CommonEmployee("樊振东" , 2 , 20000)
commonEmployee01.work()